home *** CD-ROM | disk | FTP | other *** search
/ Level 2005 Christmas (DVD) / Level_2005-XMAS_134_DVD_Knightshift.iso / Demos / Ski Racing 2006 / setup1.cab / DataCommonShadersDX9Dot3BumpMap.vsh < prev    next >
Encoding:
Text File  |  2005-11-03  |  1.5 KB  |  50 lines

  1. ;A diffuse bump map effect with one directional and one ambient light
  2. ;
  3. ;Constant map from the NSF.  
  4. ;
  5. ;WorldViewProjTranspose  0  0
  6. ;InvWorldTranspose       4  0
  7. ;DirLight1Direction      8  1
  8. ;AmbLightColor           9  1   
  9. ;MaterialAmbient         10  0
  10. ;MaterialDiffuse         11  0
  11.  
  12. vs.1.1
  13.  
  14. dcl_position    v0
  15. dcl_normal      v1
  16. dcl_texcoord0   v2
  17. dcl_tangent     v3
  18. dcl_binormal    v4
  19.  
  20. ; Output transformed vertex into device coordinates.
  21. m4x4 oPos, v0, c0
  22.  
  23. ; Output texture coordinates.
  24. mov  oT0.xy, v2      
  25. mov  oT1.xy, v2      
  26.  
  27. ; Find light vector in object space
  28. mov r5, c8                   ;Get the light direction in world space.
  29. m3x3 r4, r5, c4              ;Transform to object space with inverse world mat
  30.  
  31. ; Normalize light vector.
  32. dp3 r3.x, r4, r4
  33. rsq r2.x, r3.x
  34. mul r0, r4.xyz, r2.xxx
  35.  
  36. ;Transform the light vector into tangent space so we can use in the pixel
  37. ;shader.
  38. dp3 r2.x, r0, v3             ;Tangent
  39. dp3 r2.y, r0, v4             ;Binormal
  40. dp3 r2.z, r0, v1             ;Normal
  41. mad oT2.xyz, r2, c12, c12    ;Scale and bias since texcoord in the pixel shader
  42.                              ;expects a range of 0 to 1.
  43.  
  44. ;Ambient Lighting - rest will be done in ps
  45. mov r1, c10                  ;Move in the ambient material so we can multiply
  46. mul oD0, r1, c9              ;Modulate the ambient light by material
  47. mov oD1, c11                 ;Place the diffuse material in oD1 for use in 
  48.                              ;the pixel shader.
  49.  
  50.